﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace DexComanda
{
    public partial class frmUsuario : Form
    {
        private Conexao con;
        int rowIndex;
        int codigo;

        public frmUsuario()
        {
            con = new Conexao();
            InitializeComponent();
        }

        private void btnSalvar_Click(object sender, EventArgs e)
        {
            Models.Usuario Usuario = new Models.Usuario()
            {
                Nome = txtNome.Text,
                Senha = Convert.ToString(txtSenha.Text.GetHashCode()),
              

            };
            if (cbxTipo.Text == "Caixa")
            {
                Usuario.Perfil = 1;
            }
            con.Insert("spAdicionarUsuario", Usuario);
            MessageBox.Show("Usuario Cadastro com Sucesso");
            this.txtNome.Text = "";
            this.txtSenha.Text = "";
            this.cbxTipo.Text = "";
            ExibirUsuarios();
        }

        private void EditarUsuario(object sender, EventArgs e)
        {

            codigo = int.Parse(this.gridViewUsuario.SelectedRows[rowIndex].Cells[0].Value.ToString());
            this.txtNome.Text = this.gridViewUsuario.SelectedRows[rowIndex].Cells[1].Value.ToString();
            this.txtSenha.Text = this.gridViewUsuario.SelectedRows[rowIndex].Cells[2].Value.ToString();

            this.btnAdicionar.Text = "Salvar";
            this.btnAdicionar.Click += new System.EventHandler(this.EditarUsuario);
            this.btnAdicionar.Click -= new System.EventHandler(this.AdicionarUsuario);

            //this.btn.Text = "Cancelar";
            //this.btnEditarGrupo.Click += new System.EventHandler(this.Cancelar);
            //this.btnEditarGrupo.Click -= new System.EventHandler(this.EditarGrupo);

        }
        private void AdicionarUsuario(object sender, EventArgs e)
        {

            Models.Usuario Usuario = new Models.Usuario()
            {
                Nome = this.txtNome.Text,
                Senha = this.txtSenha.Text,
            };
            if (cbxTipo.Text == "Caixa")
            {
                Usuario.Perfil = 1;
            }

            con.Insert("spAdicionarUsuario", Usuario);
            this.txtNome.Text = "";
            this.cbxTipo.Text = "";
            this.cbxTipo.Text = "";
            ExibirUsuarios();
        }

        private void EditarUsuario() 
        {
        
        }

        private void ExibirUsuarios()
        {
            this.gridViewUsuario.DataSource = null;
            this.gridViewUsuario.AutoGenerateColumns = true;
            this.gridViewUsuario.DataSource = con.SelectAll("Usuario", "spObterUsuario");
            this.gridViewUsuario.DataMember = "Usuario";
        
        }
        private void btnNovo_Click(object sender, EventArgs e)
        {
            btnAdicionar.Enabled = true;
            btnNovo.Enabled = false;
        }

        private void frmUsuario_Load(object sender, EventArgs e)
        {
            ExibirUsuarios();
            btnNovo.Enabled = true;
            btnAdicionar.Enabled = false;
           
        }

        private void gridViewUsuario_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            int total = this.gridViewUsuario.SelectedRows.Count;

            for (int i = 0; i < total; i++)
            {
                if (this.gridViewUsuario.Rows[i].Selected)
                {
                    rowIndex = this.gridViewUsuario.Rows[i].Index;
                }
            }
        }
    }
}
